home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 10 / AACD 10.iso / AACD / Resources / Online / Term / Extras / Source / gtlayout-source.lha / LTP_Delay.c < prev    next >
C/C++ Source or Header  |  1996-10-03  |  958b  |  46 lines

  1. /*
  2. **    GadTools layout toolkit
  3. **
  4. **    Copyright © 1993-1996 by Olaf `Olsen' Barthel
  5. **        Freely distributable.
  6. **
  7. **    :ts=4
  8. */
  9.  
  10. #ifndef _GTLAYOUT_GLOBAL_H
  11. #include "gtlayout_global.h"
  12. #endif
  13.  
  14. VOID
  15. LTP_Delay(ULONG Seconds,ULONG Micros)
  16. {
  17.     struct MsgPort         TimePort;
  18.     struct timerequest    TimeRequest;
  19.  
  20.     memset(&TimePort,0,sizeof(TimePort));
  21.  
  22.     NewList(&TimePort.mp_MsgList);
  23.  
  24.     TimePort.mp_Flags    = PA_SIGNAL;
  25.     TimePort.mp_SigBit    = SIGB_SINGLE;
  26.     TimePort.mp_SigTask    = FindTask(NULL);
  27.  
  28.     memset(&TimeRequest,0,sizeof(TimeRequest));
  29.  
  30.     TimeRequest.tr_node.io_Message.mn_ReplyPort    = &TimePort;
  31.     TimeRequest.tr_node.io_Message.mn_Length    = sizeof(struct timerequest);
  32.  
  33.     if(!OpenDevice(TIMERNAME,UNIT_VBLANK,&TimeRequest,NULL))
  34.     {
  35.         TimeRequest.tr_node.io_Command    = TR_ADDREQUEST;
  36.         TimeRequest.tr_time.tv_secs     = Seconds;
  37.         TimeRequest.tr_time.tv_micro    = Micros;
  38.  
  39.         SetSignal(0,SIGF_SINGLE);
  40.         SendIO(&TimeRequest);
  41.         WaitIO(&TimeRequest);
  42.  
  43.         CloseDevice(&TimeRequest);
  44.     }
  45. }
  46.